package com.example.demo.huawei;

import java.util.Scanner;

public class OD38_2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        // 宝石数
        int n = sc.nextInt();
        if (n == 0) {
            System.out.println(0);
            return;
        }
        // 记录宝石数组
        int[] stones = new int[n];
        for (int i = 0; i < n; i++) {
            stones[i] = sc.nextInt();
        }
        // 拥有的钱
        int v = sc.nextInt();

        // 求子串问题 一般会采用 双指针

        int i = 0;
        int j = 0;
        int sum = 0;
        // 求最长长度
        int maxLength = 0;
        while (j < n) {
            // 每次先拿一块宝石
            sum += stones[j];
            while (sum > v) {
                // 已经超自己的钱了，只能放下第一块宝石
                sum -= stones[i];
                // 继续选取后面的
                i++;
            }
            // 没超过自己的钱，继续往后面拿
            maxLength = Integer.max(maxLength, j - i + 1);
            j++;
        }
        System.out.println(maxLength);
    }
}
